package edu.whu.MagicNote.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import edu.whu.MagicNote.domain.Template;
import edu.whu.MagicNote.domain.dto.TemplateDTO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Set;

@Mapper
public interface TemplateDao extends BaseMapper<Template> {
    /*
    获取所有被该用户收藏的模版
     */
    @Select("select template_id from user_template where user_id=#{userId}")
    Set<Long> getAllStar(Long userId);

    @Insert("insert into user_template (user_id, template_id) VALUES (#{userId}, #{templateId})")
    void star(TemplateDTO templateDTO);

    @Delete("delete from user_template where user_id=#{userId} and template_id=#{templateId}")
    void unstar(TemplateDTO templateDTO);

    List<Template> getTemplates(TemplateDTO templateDTO);
}
